home *** CD-ROM | disk | FTP | other *** search
- -- stack: in
- -- format: 8 (HyperCard 1)
- -- flags: 0x1000 (none)
- -- protect password hash: 0
- -- maximum user level: 5 (scripting)
- -- window: Rect(x1=0, y1=0, x2=0, y2=0)
- -- screen: Rect(x1=0, y1=0, x2=0, y2=0)
- -- card dimensions: w=0 h=0
- -- scroll: x=0 y=0
- -- background count: 3
- -- first background id: 2798
- -- card count: 3
- -- first card id: 2826
- -- list block id: 2351
- -- print block id: 3571
- -- font table block id: 0
- -- style table block id: 0
- -- free block count: 0
- -- free size: 0 bytes
- -- total size: 65376 bytes
- -- stack block size: 7680 bytes
- -- created by hypercard version: 0x01208000
- -- compacted by hypercard version: 0x01228000
- -- modified by hypercard version: 0x01228000
- -- opened by hypercard version: 0x01228000
- -- patterns[0]: 0x0000000000000000
- -- patterns[1]: 0x0000220000002200
- -- patterns[2]: 0x8800220088002200
- -- patterns[3]: 0xCC003300CC003300
- -- patterns[4]: 0xCC883322CC883322
- -- patterns[5]: 0xEE88BB22EE88BB22
- -- patterns[6]: 0xEECCBB33EECCBB33
- -- patterns[7]: 0xFFCCFF33FFCCFF33
- -- patterns[8]: 0xFFEEFFBBFFEEFFBB
- -- patterns[9]: 0xFFFFFFBBFFFFFFBB
- -- patterns[10]: 0x8010022001084004
- -- patterns[11]: 0xFFFFFFFFFFFFFFFF
- -- patterns[12]: 0x8822882288228822
- -- patterns[13]: 0x1122448811224488
- -- patterns[14]: 0xC4800C6843023026
- -- patterns[15]: 0xB130031BD8C00C8D
- -- patterns[16]: 0xAA00AA00AA00AA00
- -- patterns[17]: 0x8822552288225522
- -- patterns[18]: 0x8855225588552255
- -- patterns[19]: 0x77DD77DD77DD77DD
- -- patterns[20]: 0x8000000000000000
- -- patterns[21]: 0xAA55AA55AA55AA55
- -- patterns[22]: 0x038448300C020101
- -- patterns[23]: 0x8244394482010101
- -- patterns[24]: 0x8814224188412214
- -- patterns[25]: 0x8080413E080814E3
- -- patterns[26]: 0x22048C7422179810
- -- patterns[27]: 0xBE808808EB088880
- -- patterns[28]: 0x25C8328964244C92
- -- patterns[29]: 0xA29C41BE2AC914EB
- -- patterns[30]: 0x40A00000040A0000
- -- patterns[31]: 0x8040200002040800
- -- patterns[32]: 0xAA00800088008000
- -- patterns[33]: 0xFF80808080808080
- -- patterns[34]: 0x081C22C180010204
- -- patterns[35]: 0xFF808080FF080808
- -- patterns[36]: 0xF87422478F172271
- -- patterns[37]: 0xBF00BFBFB0B0B0B0
- -- patterns[38]: 0xFF7FBE5DA2418000
- -- patterns[39]: 0xFAF5FAF5A050A050
- -- checksum: 0x0
- ----- HyperTalk script -----
-
- on openStack
- global dash1, dash2, saveName, theStack
- if the version < 1.1 then
- answer "This stack needs HyperCard v1.1 or higher. " with "Okay"
- doMenu "Quit HyperCard"
- end if
- put "=================================================="& return into dash1
- put "----------------------------------------"& return into dash2
- hide menuBar
- pass openStack
- end openStack
-
-
- -------------------------------------------------------------------
- -------------------------------------------------------------------
-
- on doMenu choice
- --this stack can get large, be sure we compress it
- --this choice does not clear files (text field on card 3)
- if choice is "Quit HyperCard" or choice is "Home" then
- go to card 1
- show button "hide"
- compressStack
- hide button "hide"
- end if
- pass doMenu
- end doMenu
-
-
- -------------------------------------------------------------------
- -------------------------------------------------------------------
- -- routine to compress stack
-
- on compressStack
- if the freesize of this stack <=1000 then exit compressStack
- answer "COMPRESS STACK! " & " Size: " &round(size of this stack/1000) &"K Waste: " &round(freesize of this stack/1000) &"K" with "no" or "OK"
- if It is "no" then exit compressStack
- put the userlevel into temp
- set userlevel to 5
- domenu "compact stack"
- set userlevel to temp
- end compressStack
-
-
-
- -----------------------------------------------------------------------
- -----------------------------------------------------------------------
- -- * * * saveText * * * --
- -----------------------------------------------------------------------
- --level 1 = background field on card 1, other = file analysis
-
- on saveText level
- global theStack,saveName,analysis
-
-
- --get file name
- if saveName is empty and theStack is empty
- then put "? ? ? ?.txt" into theText
- else
- if saveName ≠ empty then put saveName into theText
- else put theStack &".txt" into theText
- end if
- ask "Store text in which file [? = list]" with theText
- if it is empty then
- exit saveText
- end if
- put it into theText
- if first character of it is "?" then
- put fileName("TEXT") into theText
- if theText is empty then
- exit saveText
- end if
- end if
- put theText into fileNm
- put theText into saveText
- put theText into saveName
- open file fileNm
- --Search file for last tab, tabs separate blocks
- --of texts. This way several sets of information can to added
- --to file.
- repeat with i = 0 to 19
- read from file fileNm until tab
- put i into iNm
- if it = empty then exit repeat
- end repeat
- if iNM = 19 then
- answer "Exit. There are already 20 text file."
- exit saveText
- end if
- put "text" into txt
- put "" into ict
- if iNm>0 then
- if iNM>=2 then
- put "s" after txt
- put iNM into ict
- end if
- answer"This Text will be added to the existing " &ict && txt with "cancel" or "OK"
- if it = "cancel" then
- exit saveText
- end if
- end if
- write formfeed to file fileNm
- if level = 1 then write bkgnd field 1 to file fileNm
- else write analysis to file fileNm
- write tab to file fileNm
- end saveText
-
- ----------------------------------------------------------------------
- ----------------------------------------------------------------------
- -- setLocks
- ----------------------------------------------------------------------
-
- --locking messages, screen, etc keeps your stack
- --in control (rather than the stack being analyzed)
-
- on setLocks flag
- if flag then set cursor to 4 else pop card
- if flag then set lockScreen to true else set lockScreen to false
- if flag then set LockRecent to true else set lockRecent to false
- if flag then push this card else set cursor to 1
- end setLocks
-
-
-
- ---------------------------------------------------------------
- --SYSTEM STUFF
- ---------------------------------------------------------------
-
- on xy -- puts the mouse location in the message box until a mouse click
- repeat until the mouse is down
- put the mouseLoc
- end repeat
- end xy
-
- on c
- choose browse tool
- doMenu "Card Info..."
- end c
-
- on b
- choose browse tool
- doMenu "Bkgnd Info..."
- end b
-
- on s
- choose browse tool
- doMenu "Stack Info..."
- end s
-
- on startUp
- getHomeInfo
- pass startUp -- to a startUp XCMD, if present
- end startUp
-
- on resume
- getHomeInfo
- pass resume -- to a resume XCMD, if present
- end resume
-
- on getHomeInfo
- global stacks,applications,documents,userName
- set lockScreen to true
- set lockMessages to true
- push this card
- go to card "User Preferences" of stack "Home"
- put card field "User Name" into userName
- set userLevel to card field "User Level"
- set powerKeys to the hilite of button "Power Keys"
- set textArrows to the hilite of button "Text Arrows"
- set blindTyping to the hilite of button "Blind Typing"
- put field "paths" of card "stacks" into stacks
- put field "paths" of card "applications" into applications
- put field "paths" of card "documents" into documents
- pop card
- set lockScreen to false
- set lockMessages to false
- end getHomeInfo
-
- on searchScript pattern,stackName -- search all scripts of a stack
- set lockMessages to true
- if stackName is not empty then go to stack stackName
-
- if the script of this stack contains pattern
- then edit script of this stack
-
- repeat with i = 1 to the number of bkgnds
- go to card 1 of bkgnd i
- if the script of this bkgnd contains pattern
- then edit script of bkgnd
-
- repeat with j = 1 to the number of bkgnd buttons
- if the script of bkgnd button j contains pattern
- then edit script of bkgnd button j
- end repeat
-
- repeat with j = 1 to the number of bkgnd fields
- if the script of bkgnd field j contains pattern
- then edit script of bkgnd field j
- end repeat
-
- end repeat
-
- repeat with i = 1 to the number of cards
- go card i
- if the script of this card contains pattern
- then edit script of this card
-
- repeat with j = 1 to the number of card buttons
- if the script of card button j contains pattern
- then edit script of card button j
- end repeat
-
- repeat with j = 1 to the number of card fields
- if the script of card field j contains pattern
- then edit script of card field j
- end repeat
-
- end repeat
- set lockMessages to false
- end searchScript
-
-
-